home *** CD-ROM | disk | FTP | other *** search
/ User's Choice Windows CD / User's Choice Windows CD (CMS Software)(1993).iso / win_u_z / win_tech.zip / DM_SD40.TXT next >
Text File  |  1992-04-03  |  11KB  |  193 lines

  1. ----------------------------------------------------------------------------
  2.              Disk Manager and SmartDrv 4.0 - (Technical version)
  3. ----------------------------------------------------------------------------
  4.  
  5. NOTE: The information provided in this document is intended for advanced
  6. hardware and software engineers.  This level of information is not required
  7. by most users, therefore, Ontrack Technical Support will not provide
  8. detailed support regarding its contents.
  9.  
  10. The new SmartDrv disk cache version 4.0, which is being supplied with
  11. Microsoft Windows version 3.1, is now compatible with all versions of
  12. Ontrack's Disk Manager hard disk installation software or, more
  13. specifically, our block device driver DMDRVR.BIN.  This level of
  14. compatibility exists because SmartDrv 4.0 caches at the block device level
  15. rather than at the INT13 level as in previous versions.  The SmartDrv double
  16. buffer driver, however, still uses INT13 and there are a few problems as a
  17. result.  In almost all cases a few minor changes to your CONFIG.SYS file
  18. will allow SmartDrv and DMDRVR.BIN to work together if you do encounter
  19. problems.
  20.  
  21. The purpose of SmartDrv's double buffering is to provide support for SCSI
  22. host adapters that use BUS Master DMA (channels 5, 6 and 7) for data
  23. transfers, allowing them to be compatible with Windows 386 enhanced mode. 
  24. Without double buffer support, Windows will not load in 386 enhanced mode
  25. when such a host adapter is detected.  The incompatibility of these host
  26. adapters with 386 enhanced mode results from the method they use when
  27. transferring data.  The term DMA, as used in this document refers to BUS
  28. Master DMA.
  29.  
  30. When a data transfer is initiated through a SCSI host adapter, a transfer
  31. buffer address is passed by the processor to the host adapter.  The host
  32. adapter will take control of the I/O BUS to transfer data into or out of the
  33. buffer.  At a DOS level, and even in Windows standard mode, this works fine
  34. since the address passed is relative to physical 0000:0000.  When Windows
  35. runs in 386 enhanced mode, however, each virtual machine (VM) is located in
  36. a different area of physical memory.  All addresses used by a VM are
  37. relative to the starting memory address of that VM, not physical 0000:0000. 
  38. Hence these 'logical' addresses are valid for that VM, but are not valid if
  39. used as references from physical 0000:0000.  The host adapter, unaware that
  40. the address passed is not relative to physical 0000:0000, treats the address
  41. as though it were and performs the transfer.  The result is that the data
  42. written or read by the host adapter is not valid and serious corruption
  43. could occur.  As previously indicated, Windows 3.1 will prevent this problem
  44. by not allowing you to run in 386 enhanced mode.
  45.  
  46. SmartDrv's double buffer solves this problem by establishing a transfer
  47. buffer in conventional memory, before Windows is loaded.  This buffers
  48. address is relative to physical 0000:0000.  SmartDrv will pass the address
  49. of this buffer to the host adapter for data transfers, then move the data
  50. from this buffer into and out of the cache, hence the name double buffer. 
  51. This allows reliable transfers to occur in 386 enhanced mode, with only a
  52. small amount of overhead.
  53.  
  54. SmartDrv's double buffering is not required unless a SCSI host adapter that
  55. uses DMA is installed in your system.  Windows 3.1 Setup, however, will
  56. install double buffering any time that it can not conclusively determine
  57. that it is not required.  Such a situation occurs in a system with a drive
  58. having more than 1024 cylinders, a condition permitted by DMDRVR.BIN and the
  59. XBIOS.OVL INT13 overlay.  As a result, double buffering may be installed
  60. when it is not required.  Double buffering is enabled when setup places the
  61. following device statement in your CONFIG.SYS file.
  62.  
  63. DEVICE=C:\WINDOWS\SMARTDRV.EXE /DOUBLE_BUFFER
  64. The only purpose for placing a SmartDrv device statement in your CONFIG.SYS
  65. file is to enable double buffering.  The SmartDrv cache is installed by a
  66. separate command line in AUTOEXEC.BAT and does not require double buffering
  67. in order for it to operate.
  68.  
  69. There are two conditions under which SmartDrv's double buffering will cause
  70. problems when used in conjunction with DMDRVR.BIN and XBIOS.OVL.  Though
  71. they are not related, both conditions may exist on some systems and share
  72. some common resolutions.  Please be sure to read both descriptions before
  73. making any changes to your system.  The conditions are listed below along
  74. with their respective considerations.
  75.  
  76. I.   DRIVES WITH MORE THAN 1024 CYLINDERS
  77.  
  78.      SmartDrv's double buffer is not compatible with XBIOS.OVL, Ontrack Disk
  79.      Manager software's over 1024 cylinder support.  The incompatibility
  80.      results from the double buffer driver's operation at the INT13 level
  81.      and inability to communicate successfully with XBIOS.OVL.  SmartDrv
  82.      will attempt to determine if over 1024 cylinder support is being
  83.      provided by DMDRVR.BIN and XBIOS.OVL and unload the double buffer to
  84.      avoid conflicts.  Changes made to Disk Manager software version 5.10,
  85.      that SmartDrv 4.0 is unaware of, cause it not to unload in situations
  86.      where it must in order to avoid conflicts.  Since double buffering is
  87.      only required for SCSI host adapters, which are not supported by
  88.      XBIOS.OVL, the solution is to enable double buffering only when a SCSI
  89.      host adapter is present, and disable it otherwise.
  90.  
  91.      The following combines the possible configurations into three groups,
  92.      each with its own configuration requirements.
  93.  
  94.      1)   System without a SCSI host adapter.
  95.  
  96.           If your computer system does not have a SCSI host adapter that
  97.           uses DMA, you do not need double buffering.  In order to be
  98.           compatible with XBIOS.OVL you must remove the SmartDrv device
  99.           statement, DEVICE=C:\WINDOWS\SMARTDRV.EXE /DOUBLE_BUFFER, from
  100.           your CONFIG.SYS file.  You do not have to remove the SmartDrv
  101.           device statement unless you have a drive with more than 1024
  102.           cylinders, however, it does no good to leave it in.
  103.  
  104.      2)   System with a SCSI host adapter but no drives with more than 1024
  105.           cylinders.
  106.  
  107.           If your computer has a SCSI host adapter that uses DMA but does
  108.           not have a non-SCSI drive with more than 1024 cylinders, you need
  109.           to use double buffering.  You must leave the SmartDrv device
  110.           statement in your CONFIG.SYS file.  Since the presence of
  111.           DMDRVR.BIN may mask the need for double buffering, you should
  112.           modify the device statement in your CONFIG.SYS file to include a
  113.           PLUS SIGN which forces the double buffer to stay loaded.  The
  114.           statement should appear as follows, be sure there is no space
  115.           before the PLUS SIGN.
  116.  
  117.           DEVICE=C:\WINDOWS\SMARTDRV.EXE /DOUBLE_BUFFER+
  118.  
  119.      3)   System with a SCSI host adapter and a drive with more than 1024
  120.           cylinders.
  121.  
  122.           If your computer has both a SCSI Host Adapter that uses DMA and a
  123.           non-SCSI drive with more than 1024 cylinders you can not use
  124.           SmartDrv's double buffer.  As a result you will not be able to run
  125.           Windows in 386 enhanced mode.  You must remove the SmartDrv device
  126.           statement, DEVICE=C:\WINDOWS\SMARTDRV.EXE /DOUBLE_BUFFER, from
  127.           your CONFIG.SYS file.  In order to use SmartDrv's double buffer
  128.           support, and hence 386 enhanced mode, it will be necessary for you
  129.           to reconfigure your system to eliminate either the SCSI device or
  130.           the over 1024 condition.  There may be other software solutions to
  131.           this problem, such as a double buffer driver from your SCSI host
  132.           adapter's manufacturer.
  133.  
  134. II.  LOGICAL SECTOR SIZES GREATER THAN 512 BYTES
  135.  
  136.      NOTE: DOS 4.0, 4.01 and 5.0 (and Compaq 3.31) require that all logical
  137.      sectors be 512 bytes.  If you are using one of these DOS versions, the
  138.      information provided in this section is not applicable to your
  139.      configuration.  The information provided below is superseded by the
  140.      considerations for DRIVES WITH MORE THAN 1024 CYLINDERS, as presented
  141.      above.
  142.  
  143.      Under DOS versions 3.30 and prior, the number of logical sectors that
  144.      can exist in one partition is limited, hence the 32MB limit on
  145.      partition size.  Since the number of logical sectors in the partition
  146.      cannot be increased, it is necessary to increase the logical sector
  147.      size in order to overcome the 32MB size limit.  When double buffering
  148.      is enabled by a SmartDrv device statement in your CONFIG.SYS file,
  149.      SmartDrv will attempt to determine if double buffering is actually
  150.      required.  If SmartDrv determines that double buffering is not
  151.      required, it will unload the double buffer.  If your hard disk has
  152.      partitions with logical sector sizes greater than 512 bytes, the double
  153.      buffer will not unload successfully and DOS will display the following
  154.      message.
  155.  
  156.      SECTOR SIZE TOO LARGE IN FILE SMARTDRV.EXE
  157.  
  158.      This message does not indicate that the SMARTDRV.EXE file is corrupted,
  159.      however, DOS is unstable at this point and the computer will not
  160.      function correctly.
  161.  
  162.      The following combines the possible configurations into two groups,
  163.      each with its own configuration requirements.
  164.  
  165.      1)   System without a SCSI host adapter.
  166.  
  167.           If your computer does not have a SCSI host adapter that uses DMA,
  168.           you do not need double buffering.  In order to be compatible with
  169.           DMDRVR.BIN's support for partitions larger than 32MB under DOS
  170.           3.30 and prior, and XBIOS.OVL, you must remove the SmartDrv device
  171.           statement, DEVICE=C:\SMARTDRV.EXE /DOUBLE_BUFFER, statement from
  172.           your CONFIG.SYS file.
  173.  
  174.      2)   System with a SCSI host adapter.
  175.  
  176.           If your computer has a SCSI host adapter that uses DMA, you need
  177.           double buffering.  In order to be compatible with DMDRVR.BIN's
  178.           support for large partitions under DOS 3.30 and prior, you should
  179.           modify the SmartDrv device statement in your CONFIG.SYS file to
  180.           include a PLUS SIGN.  The PLUS SIGN forces the double buffer to
  181.           stay loaded, preventing the DOS error.  The statement should
  182.           appear as follows, be sure there is no space before the PLUS SIGN.
  183.  
  184.           DEVICE=C:\WINDOWS\SMARTDRV.EXE /DOUBLE_BUFFER+
  185.  
  186. The information provided above encompasses all known considerations for
  187. using Disk Manager software in conjunction with SmartDrv 4.0.  This document
  188. will be updated as new information and solutions become available.  If you
  189. feel that you have a problem not covered in this document, or have
  190. information on manufacturer supplied double buffer drivers, please contact
  191. Ontrack Technical Support at (612)937-2121.
  192. ----------------------------------------------------------------------------
  193.